# 演示集合常用操作

basket = {"apple", "orange", "apple", "pear", "orange", "banana"}

# 1、len(集合)：集合元素个数
print(f"basket 的元素个数：{len(basket)}")

# 2、x in s：检测 x 是否为 s 中的成员
# 需求：判断 apple 是否在集合中
print("apple" in basket)

# 3、add(ele)：将元素 ele 添加到集合中
# 需求：将 grape 添加到集合中
basket.add("grape")
print(f"basket 元素为：{basket}")

# 4、remove(ele)：从集合中移除元素 ele
# 如果 ele 不存在集合中会引发 KeyError
# 需求：将 apple 从集合中移除
basket.remove("apple")
print(f"basket 元素为：{basket}")

# 5、pop()：从集合中移除并返回任意一个元素
# 如果集合为空则会引发 keyError
# 需求：从集合中随机删除一个元素
ele = basket.pop()
print(f"ele = {ele}，类型是：{type(ele)}")
# 注意  pop() 操作会影响到原集合
print(f"basket 元素为：{basket}")

# 6、union(*others)：返回一个新集合
# 其中包含来自原集合以及 others 指定的所有集合元素
books = {"天龙八部", "笑傲江湖"}
books_2 = {"雪山飞狐", "神雕侠侣", "天龙八部"}
# 需求：将 books 和 books_2 进行合集操作
books_3 = books.union(books_2)
books_8 = books | books_2
print(f"books_3 = {books_3}")
print(f"books_8 = {books_8}")

# 7、intersection(*other)：返回一个新集合
# 其中包含原集合以及 others 指定的所有集合中共有的元素
# 需求：将 books 和 books_2 进行交集操作
books_04 = books.intersection(books_2)
books_05 = books & books_2
print(f"books_04 = {books_04}")
print(f"books_05 = {books_05}")

# 8、difference(*others)：返回一个新集合
# 其中包含原集合中在 others 指定的其他集合中不存在的元素
# 需求：求出只存在 books 集合的元素
books_06 = books.difference(books_2)
books_07 = books - books_2
print(f"books_06 = {books_06}")
print(f"books_07 = {books_07}")